﻿using System;
using System.ComponentModel.DataAnnotations;
using GdHotel.Data.Resources;

namespace GdHotel.Data.Meta.Models
{
    public class ReserveRoomModel
    {
        [Required(AllowEmptyStrings = false, ErrorMessage = "*")]
        [Display(Name = "ReservationName", ResourceType = typeof(Localization))]
        public String Name { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "*")]
        [Display(Name = "ReservationPhone", ResourceType = typeof(Localization))]
        public String Phone { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "*")]
        [Display(Name = "ReservationEmail", ResourceType = typeof(Localization))]
        [RegularExpression(@"^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$", ErrorMessage = "*")]
        public String Email { get; set; }

        [DataType(DataType.Date)]
        [Display(Name = "ReservationCheckInDate", ResourceType = typeof(Localization))]
        public DateTime? CheckInDate { get; set; }

        [DataType(DataType.Date)]
        [Display(Name = "ReservationDepartureDate", ResourceType = typeof(Localization))]
        public DateTime? DepartureDate { get; set; }

        [Display(Name = "ReservationRoomsCount", ResourceType = typeof(Localization))]
        public String RoomsCount { get; set; }

        [DataType(DataType.MultilineText)]
        [Display(Name = "ReservationComments", ResourceType = typeof(Localization))]
        public String Comments { get; set; }


        [Display(Name = "ReservationIsStandardSingle", ResourceType = typeof(Localization))]
        public Boolean IsStandardSingle { get; set; }

        [Display(Name = "ReservationIsStandardDouble", ResourceType = typeof(Localization))]
        public Boolean IsStandardDouble { get; set; }

        [Display(Name = "ReservationIsDeluxeRoom", ResourceType = typeof(Localization))]
        public Boolean IsDeluxeRoom { get; set; }

        [Display(Name = "ReservationIsLuxurySuite", ResourceType = typeof(Localization))]
        public Boolean IsLuxurySuite { get; set; }

        [Display(Name = "ReservationIsPresidentSuite", ResourceType = typeof(Localization))]
        public Boolean IsPresidentSuite { get; set; }
    }
}